SIMATIC WinAC中OPC在分布式SCADA中的應(yīng)用
2003/9/5 16:28:00
摘 要
本文首先分析了OPC產(chǎn)生的背景,介紹了OPC具有的強(qiáng)大可互操作性和對(duì)網(wǎng)絡(luò)的支持,使用SIEMENS公司的SIMATIC WinAC插槽型412和S7-200系列PLC,運(yùn)用OPC技術(shù)開(kāi)發(fā)出一套飼料配比分布式測(cè)控系統(tǒng),取得了良好的使用效果和經(jīng)濟(jì)效益。
關(guān)鍵詞
OPC(用于過(guò)程的自動(dòng)化) WinAC SCADA(數(shù)據(jù)采集監(jiān)控) 飼料配比
The Application of SIMATIC WinAC OPC in Distributed SCADA
Ren Sicheng Wang Shuhe
(Ren Sicheng:The Key Laboratory of Complex Systems and Intelligence Science,Institute of Automation,
Chinese Academy of Sciences, Beijing 100080)
(Wang Shuhe:Information Science and Engineering College, Shandong University,
Shandong University-SIEMENS Electrical Engineering Laboratory, Jinan 250100)
一 引言
微處理器在工業(yè)領(lǐng)域的廣泛應(yīng)用,大大提高了工廠自動(dòng)化的程度,降低了人們的勞動(dòng)強(qiáng)度,提高了勞動(dòng)生產(chǎn)效率。與此同時(shí),工業(yè)過(guò)程控制本身也發(fā)生了日新月異的變化,控制的規(guī)模日趨龐大,復(fù)雜程度不斷提高,功能也越來(lái)越強(qiáng)大?,F(xiàn)在的一個(gè)實(shí)際的過(guò)程控制系統(tǒng)中可能包含有成千上萬(wàn)個(gè)不同類型的硬件采集控制設(shè)備和相關(guān)的監(jiān)控程序。如何使它們有機(jī)協(xié)調(diào)地在一起工作,成為過(guò)程控制領(lǐng)域研究人員當(dāng)前最為關(guān)心的問(wèn)題。
圖1 傳統(tǒng)的過(guò)程控制系統(tǒng)結(jié)構(gòu)
圖1中所示的傳統(tǒng)過(guò)程控制系統(tǒng)結(jié)構(gòu)是一種單一、專有的模式,任何一種人機(jī)界面(HMI)、數(shù)據(jù)采集與處理軟件(SCADA)等上位監(jiān)控軟件或其他應(yīng)用軟件(如顯示軟件、趨勢(shì)圖軟件、數(shù)據(jù)報(bào)表與分析軟件等)在使用某種硬件設(shè)備時(shí)都需要開(kāi)發(fā)專用的驅(qū)動(dòng)程序。這種結(jié)構(gòu)特點(diǎn)帶來(lái)了諸多自身無(wú)法克服的問(wèn)題,新增應(yīng)用軟件或者硬件設(shè)備帶來(lái)的只會(huì)是驅(qū)動(dòng)程序種類和數(shù)量的迅速增長(zhǎng),開(kāi)發(fā)人員大量的時(shí)間和精力耗費(fèi)在重復(fù)性編寫(xiě)通信驅(qū)動(dòng)程序上,原有的驅(qū)動(dòng)程序無(wú)法適應(yīng)升級(jí)后的硬件設(shè)備。顯然,傳統(tǒng)的過(guò)程控制系統(tǒng)結(jié)構(gòu)不能適應(yīng)過(guò)程控制發(fā)展的新要求,我們必須突破舊的模式尋求一種新的解決方法。
二 基于OPC(OLE for Process and Control)的過(guò)程控制系統(tǒng)結(jié)構(gòu)解決方案
為了解決上述問(wèn)題,許多世界領(lǐng)先的自動(dòng)化軟、硬件公司(如SIEMENS公司)與微軟公司合作共同制訂出了OPC標(biāo)準(zhǔn)。OPC標(biāo)準(zhǔn)是一個(gè)新的工業(yè)過(guò)程控制軟件接口標(biāo)準(zhǔn),定義了應(yīng)用Microsoft操作系統(tǒng)在基于PC的客戶機(jī)之間交換自動(dòng)化實(shí)時(shí)數(shù)據(jù)的方法。
圖2 基于OPC的過(guò)程控制系統(tǒng)結(jié)構(gòu)
圖2中的基于OPC過(guò)程控制系統(tǒng)結(jié)構(gòu)采用客戶/服務(wù)器模式,通常把符合OPC規(guī)范的設(shè)備驅(qū)動(dòng)程序稱為OPC服務(wù)器,而將符合OPC規(guī)范的應(yīng)用軟件統(tǒng)稱為OPC客戶。服務(wù)器充當(dāng)客戶與硬件設(shè)備之間的橋梁,客戶對(duì)硬件設(shè)備的數(shù)據(jù)讀寫(xiě)操作由服務(wù)器代理完成,客戶不需要同硬件設(shè)備直接打交道,或者說(shuō)客戶是獨(dú)立于設(shè)備的(即不管現(xiàn)場(chǎng)設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問(wèn))。在客戶端和服務(wù)器端各自定義了統(tǒng)一的標(biāo)準(zhǔn)“接口”,接口具有不變特性,OPC所提供的接口標(biāo)準(zhǔn)事實(shí)上是一種“軟件接口標(biāo)準(zhǔn)”或“軟件總線”,它明確定義了客戶同服務(wù)器之間的通信機(jī)制,是連接客戶同服務(wù)器的橋梁和紐帶。這樣,我們可以自由選擇最符合我們實(shí)際要求的軟、硬件產(chǎn)品,然后將它們像“搭積木”一樣組合在一起進(jìn)行無(wú)縫地工作,這一切都來(lái)源于OPC所提供的強(qiáng)大互操作性的特點(diǎn),對(duì)此我們可以作一個(gè)形象的比喻:盡管家用電器的種類繁多,但它們的電源插頭與插座卻是統(tǒng)一的??梢赃@樣說(shuō),統(tǒng)一的標(biāo)準(zhǔn)接口是OPC的實(shí)質(zhì)和靈魂。
類似于工業(yè)組態(tài)軟件中的相關(guān)概念,OPC規(guī)范主要定義了數(shù)據(jù)訪問(wèn)規(guī)范、報(bào)警和事件處理規(guī)范及歷史數(shù)據(jù)訪問(wèn)規(guī)范三部分,對(duì)應(yīng)于每種規(guī)范可以實(shí)現(xiàn)相應(yīng)的OPC服務(wù)器。OPC數(shù)據(jù)訪問(wèn)服務(wù)器在結(jié)構(gòu)上由服務(wù)器(Server)、組(Group)和項(xiàng)(Item)三級(jí)對(duì)象組成。在邏輯關(guān)系上,上一級(jí)對(duì)象是下一級(jí)對(duì)象的父對(duì)象,下一級(jí)對(duì)象則是上一級(jí)對(duì)象的子對(duì)象,OPC數(shù)據(jù)訪問(wèn)服務(wù)器正是通過(guò)這種“集合”的概念來(lái)組織和管理其內(nèi)部結(jié)構(gòu)的。項(xiàng)對(duì)象作為結(jié)構(gòu)層次中最基本的單元直接對(duì)應(yīng)著物理硬件設(shè)備的某個(gè)具體數(shù)據(jù)單元,項(xiàng)對(duì)象作為物理數(shù)據(jù)的存儲(chǔ)載體,主要包含數(shù)據(jù)值(當(dāng)前設(shè)備單元中的數(shù)據(jù))、時(shí)間標(biāo)簽(當(dāng)前采集到的數(shù)據(jù)時(shí)間定位)和品質(zhì)信息(當(dāng)前采集到的數(shù)據(jù)可靠程度)等信息。
客戶對(duì)硬件設(shè)備的數(shù)據(jù)讀寫(xiě)操作分為同步和異步兩種方式。同步方式適合于發(fā)送、接收數(shù)據(jù)量較少的場(chǎng)合;相比同步方式,異步方式占用較少的資源,效率更高,適合大數(shù)據(jù)量的場(chǎng)合,在實(shí)際中的應(yīng)用也更為廣泛。在沒(méi)有開(kāi)發(fā)出OPC標(biāo)準(zhǔn)之前,異步方式的存取是不可能的,會(huì)導(dǎo)致存取沖突的發(fā)生。
OPC除了具有高效的互操作性外,另一顯著特點(diǎn)是能夠方便地實(shí)現(xiàn)在分布式環(huán)境下的應(yīng)用,也就是說(shuō),客戶和服務(wù)器可以位于局域網(wǎng)、廣域網(wǎng)或Internet上的不同計(jì)算機(jī)上,它同網(wǎng)絡(luò)應(yīng)用緊密結(jié)合突破了空間上的限制。為了實(shí)現(xiàn)在分布式環(huán)境下的應(yīng)用,OPC采用了分布式組件對(duì)象模型(DCOM,Distributed Component Object Model)技術(shù),DCOM是在組件對(duì)象模型(COM,Component Object Model)的基礎(chǔ)上進(jìn)一步擴(kuò)展得到的,通過(guò)DCOM我們可以將現(xiàn)有的服務(wù)器和客戶程序轉(zhuǎn)移到標(biāo)準(zhǔn)化的分布式計(jì)算環(huán)境中來(lái);另一方面,DCOM負(fù)責(zé)處理網(wǎng)絡(luò)協(xié)議低層次的細(xì)節(jié)問(wèn)題,從而使我們能夠集中精力解決其他問(wèn)題。DCOM直接使用現(xiàn)有的網(wǎng)絡(luò)協(xié)議如TCP/IP、UDP、IPX/SPX以及NetBIOS等,我們可以在不改變網(wǎng)絡(luò)現(xiàn)有結(jié)構(gòu)的情況下實(shí)現(xiàn)分布式應(yīng)用,而且我們不用關(guān)心具體采用的是何種協(xié)議。
三 SIMATIC WinAC中對(duì)OPC的支持
SIMATIC WinAC是SIEMENS公司基于PC的自動(dòng)化套件的核心部分。它在通用的標(biāo)準(zhǔn)PC平臺(tái)上,將控制、人機(jī)界面、數(shù)據(jù)處理和通訊等功能組合在一起予以解決;并基于Windows NT/2000操作系統(tǒng)和標(biāo)準(zhǔn)的接口(ActiveX、OPC),作為一種靈活開(kāi)放的體系結(jié)構(gòu),便于集成第三方的應(yīng)用程序(如OPC客戶程序)。SIMATIC WinAC產(chǎn)品系列包括軟件型(基本型、實(shí)時(shí)型)和插槽型(412、416)兩種,分別適用于不同的應(yīng)用場(chǎng)合,每種產(chǎn)品均提供了對(duì)OPC的功能支持。具體地講,WinAC中的Computing軟件提供了一個(gè)OPC服務(wù)器,OPC客戶應(yīng)用程序通過(guò)該服務(wù)器與控制引擎(如WinLC、CPU 416-2 DP ISA或其他的S7系列PLC等)通訊,并對(duì)過(guò)程數(shù)據(jù)進(jìn)行存取。另外,SIMATIC Computing還允許用戶使用OPC服務(wù)器與多個(gè)控制引擎建立連接,用戶也可以通過(guò)網(wǎng)絡(luò)(如局域網(wǎng))建立與控制引擎的連接。以下OPC客戶程序代碼簡(jiǎn)單示范了在分布式環(huán)境中如何建立與服務(wù)器的連接、創(chuàng)建并管理各級(jí)對(duì)象和實(shí)現(xiàn)對(duì)數(shù)據(jù)的讀寫(xiě)操作。
CoInitialize(NULL);
//初始化COM
CLSIDFromProgID(L(“OPCServer.WinAC”),&clsid);
//查詢Computing提供的OPC服務(wù)器的CLSID
CoCreateInstanceEx(clsid,NULL,CLSCTX_SERVER,pServerInfo,cmq,pResults);
//pServerInfo參數(shù)制定要連接的Computing OPC服務(wù)器的相關(guān)信息,并建立連接
POPCUnknown->QueryInterface(IID_IOPCServer,(viod **)&pOPCServer);
//獲得服務(wù)器對(duì)象的指針,并進(jìn)行相關(guān)操作
…
AddGroup…
//新建組對(duì)象,進(jìn)行相關(guān)操作
Read…
Write…
//數(shù)據(jù)項(xiàng)讀寫(xiě)
…
Release…
CoUninitialize…
//釋放接口,客戶程序結(jié)束
四 Computing OPC服務(wù)器和OPC客戶應(yīng)用程序在分布式環(huán)境中的參數(shù)配置
當(dāng)Computing OPC服務(wù)器組件同OPC客戶程序分別運(yùn)行在網(wǎng)絡(luò)上的不同計(jì)算機(jī)上時(shí),它們之間的通信連接是通過(guò)DCOM來(lái)完成的。如何對(duì)DCOM的參數(shù)進(jìn)行正確的配置,筆者經(jīng)過(guò)大量的實(shí)踐摸索,總結(jié)出了一套簡(jiǎn)單、可行的辦法。配置具體步驟如下:
Computing OPC服務(wù)器組件運(yùn)行時(shí)所在的計(jì)算機(jī)信息:
計(jì)算機(jī)名:ComputerofServer 用戶名: UserofServer
OPC客戶程序運(yùn)行時(shí)所在計(jì)算機(jī)信息:
計(jì)算機(jī)名:ComputerofClient 用戶名: UserofClient
1 對(duì)服務(wù)器端參數(shù)配置。
運(yùn)行dcomcnfg(由操作系統(tǒng)提供的DCOM參數(shù)配置工具),在“應(yīng)用程序”一欄中選中“OPC_WinAC”,在其屬性對(duì)話框中各參數(shù)設(shè)置如下:
“常規(guī)”—“身份驗(yàn)證級(jí)別”—“默認(rèn)值”;
“位置”—“在這臺(tái)計(jì)算機(jī)上運(yùn)行應(yīng)用程序”;
“安全性”—“使用自定義訪問(wèn)權(quán)限”—添加“UserofClient” (允許訪問(wèn));
—“使用自定義啟動(dòng)權(quán)限”—添加“UserofClient、Administrators、System、Interactive” (允許訪問(wèn));
—“使用自定義配置權(quán)限”—添加“UserofServer、UserofClient、Everyone、System、Creator Owner、Power Users、Administrators”;
“身份標(biāo)識(shí)”—“交互式用戶”;
確認(rèn)返回到“分布式COM配置屬性”窗口后,在“默認(rèn)屬性”欄中分別設(shè)定“在這臺(tái)計(jì)算機(jī)上運(yùn)行分布式COM”、“默認(rèn)身份驗(yàn)證級(jí)別”為“連接”、“默認(rèn)模擬級(jí)別”為“匿名”;在“默認(rèn)安全機(jī)制”一欄中的“默認(rèn)訪問(wèn)權(quán)限”中加入“Everyone、UserofClient”(允許訪問(wèn)),“默認(rèn)啟動(dòng)權(quán)限”中加入“Everyone、Interactive、Administrators、System、UserofClient”(允許訪問(wèn)),“默認(rèn)配置權(quán)限”中加入“UserofServer、Everyone、System、Creator Owner、Power Users、Administrators”。至此,完成服務(wù)器端配置。
2 對(duì)客戶端參數(shù)配置。
運(yùn)行dcomcnfg,在“應(yīng)用程序”一欄中選中“OPC_WinAC”,在其屬性對(duì)話框中各參數(shù)設(shè)置如下:
“常規(guī)”—“身份驗(yàn)證級(jí)別”—“默認(rèn)值”;
“位置”—“在下列計(jì)算機(jī)上運(yùn)行應(yīng)用程序”,計(jì)算機(jī)名:“ComputerofServer”;
“安全性”—“使用自定義訪問(wèn)權(quán)限”—添加“UserofClient、Ever
本文首先分析了OPC產(chǎn)生的背景,介紹了OPC具有的強(qiáng)大可互操作性和對(duì)網(wǎng)絡(luò)的支持,使用SIEMENS公司的SIMATIC WinAC插槽型412和S7-200系列PLC,運(yùn)用OPC技術(shù)開(kāi)發(fā)出一套飼料配比分布式測(cè)控系統(tǒng),取得了良好的使用效果和經(jīng)濟(jì)效益。
關(guān)鍵詞
OPC(用于過(guò)程的自動(dòng)化) WinAC SCADA(數(shù)據(jù)采集監(jiān)控) 飼料配比
The Application of SIMATIC WinAC OPC in Distributed SCADA
Ren Sicheng Wang Shuhe
(Ren Sicheng:The Key Laboratory of Complex Systems and Intelligence Science,Institute of Automation,
Chinese Academy of Sciences, Beijing 100080)
(Wang Shuhe:Information Science and Engineering College, Shandong University,
Shandong University-SIEMENS Electrical Engineering Laboratory, Jinan 250100)
一 引言
微處理器在工業(yè)領(lǐng)域的廣泛應(yīng)用,大大提高了工廠自動(dòng)化的程度,降低了人們的勞動(dòng)強(qiáng)度,提高了勞動(dòng)生產(chǎn)效率。與此同時(shí),工業(yè)過(guò)程控制本身也發(fā)生了日新月異的變化,控制的規(guī)模日趨龐大,復(fù)雜程度不斷提高,功能也越來(lái)越強(qiáng)大?,F(xiàn)在的一個(gè)實(shí)際的過(guò)程控制系統(tǒng)中可能包含有成千上萬(wàn)個(gè)不同類型的硬件采集控制設(shè)備和相關(guān)的監(jiān)控程序。如何使它們有機(jī)協(xié)調(diào)地在一起工作,成為過(guò)程控制領(lǐng)域研究人員當(dāng)前最為關(guān)心的問(wèn)題。
圖1 傳統(tǒng)的過(guò)程控制系統(tǒng)結(jié)構(gòu)
圖1中所示的傳統(tǒng)過(guò)程控制系統(tǒng)結(jié)構(gòu)是一種單一、專有的模式,任何一種人機(jī)界面(HMI)、數(shù)據(jù)采集與處理軟件(SCADA)等上位監(jiān)控軟件或其他應(yīng)用軟件(如顯示軟件、趨勢(shì)圖軟件、數(shù)據(jù)報(bào)表與分析軟件等)在使用某種硬件設(shè)備時(shí)都需要開(kāi)發(fā)專用的驅(qū)動(dòng)程序。這種結(jié)構(gòu)特點(diǎn)帶來(lái)了諸多自身無(wú)法克服的問(wèn)題,新增應(yīng)用軟件或者硬件設(shè)備帶來(lái)的只會(huì)是驅(qū)動(dòng)程序種類和數(shù)量的迅速增長(zhǎng),開(kāi)發(fā)人員大量的時(shí)間和精力耗費(fèi)在重復(fù)性編寫(xiě)通信驅(qū)動(dòng)程序上,原有的驅(qū)動(dòng)程序無(wú)法適應(yīng)升級(jí)后的硬件設(shè)備。顯然,傳統(tǒng)的過(guò)程控制系統(tǒng)結(jié)構(gòu)不能適應(yīng)過(guò)程控制發(fā)展的新要求,我們必須突破舊的模式尋求一種新的解決方法。
二 基于OPC(OLE for Process and Control)的過(guò)程控制系統(tǒng)結(jié)構(gòu)解決方案
為了解決上述問(wèn)題,許多世界領(lǐng)先的自動(dòng)化軟、硬件公司(如SIEMENS公司)與微軟公司合作共同制訂出了OPC標(biāo)準(zhǔn)。OPC標(biāo)準(zhǔn)是一個(gè)新的工業(yè)過(guò)程控制軟件接口標(biāo)準(zhǔn),定義了應(yīng)用Microsoft操作系統(tǒng)在基于PC的客戶機(jī)之間交換自動(dòng)化實(shí)時(shí)數(shù)據(jù)的方法。
圖2 基于OPC的過(guò)程控制系統(tǒng)結(jié)構(gòu)
圖2中的基于OPC過(guò)程控制系統(tǒng)結(jié)構(gòu)采用客戶/服務(wù)器模式,通常把符合OPC規(guī)范的設(shè)備驅(qū)動(dòng)程序稱為OPC服務(wù)器,而將符合OPC規(guī)范的應(yīng)用軟件統(tǒng)稱為OPC客戶。服務(wù)器充當(dāng)客戶與硬件設(shè)備之間的橋梁,客戶對(duì)硬件設(shè)備的數(shù)據(jù)讀寫(xiě)操作由服務(wù)器代理完成,客戶不需要同硬件設(shè)備直接打交道,或者說(shuō)客戶是獨(dú)立于設(shè)備的(即不管現(xiàn)場(chǎng)設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問(wèn))。在客戶端和服務(wù)器端各自定義了統(tǒng)一的標(biāo)準(zhǔn)“接口”,接口具有不變特性,OPC所提供的接口標(biāo)準(zhǔn)事實(shí)上是一種“軟件接口標(biāo)準(zhǔn)”或“軟件總線”,它明確定義了客戶同服務(wù)器之間的通信機(jī)制,是連接客戶同服務(wù)器的橋梁和紐帶。這樣,我們可以自由選擇最符合我們實(shí)際要求的軟、硬件產(chǎn)品,然后將它們像“搭積木”一樣組合在一起進(jìn)行無(wú)縫地工作,這一切都來(lái)源于OPC所提供的強(qiáng)大互操作性的特點(diǎn),對(duì)此我們可以作一個(gè)形象的比喻:盡管家用電器的種類繁多,但它們的電源插頭與插座卻是統(tǒng)一的??梢赃@樣說(shuō),統(tǒng)一的標(biāo)準(zhǔn)接口是OPC的實(shí)質(zhì)和靈魂。
類似于工業(yè)組態(tài)軟件中的相關(guān)概念,OPC規(guī)范主要定義了數(shù)據(jù)訪問(wèn)規(guī)范、報(bào)警和事件處理規(guī)范及歷史數(shù)據(jù)訪問(wèn)規(guī)范三部分,對(duì)應(yīng)于每種規(guī)范可以實(shí)現(xiàn)相應(yīng)的OPC服務(wù)器。OPC數(shù)據(jù)訪問(wèn)服務(wù)器在結(jié)構(gòu)上由服務(wù)器(Server)、組(Group)和項(xiàng)(Item)三級(jí)對(duì)象組成。在邏輯關(guān)系上,上一級(jí)對(duì)象是下一級(jí)對(duì)象的父對(duì)象,下一級(jí)對(duì)象則是上一級(jí)對(duì)象的子對(duì)象,OPC數(shù)據(jù)訪問(wèn)服務(wù)器正是通過(guò)這種“集合”的概念來(lái)組織和管理其內(nèi)部結(jié)構(gòu)的。項(xiàng)對(duì)象作為結(jié)構(gòu)層次中最基本的單元直接對(duì)應(yīng)著物理硬件設(shè)備的某個(gè)具體數(shù)據(jù)單元,項(xiàng)對(duì)象作為物理數(shù)據(jù)的存儲(chǔ)載體,主要包含數(shù)據(jù)值(當(dāng)前設(shè)備單元中的數(shù)據(jù))、時(shí)間標(biāo)簽(當(dāng)前采集到的數(shù)據(jù)時(shí)間定位)和品質(zhì)信息(當(dāng)前采集到的數(shù)據(jù)可靠程度)等信息。
客戶對(duì)硬件設(shè)備的數(shù)據(jù)讀寫(xiě)操作分為同步和異步兩種方式。同步方式適合于發(fā)送、接收數(shù)據(jù)量較少的場(chǎng)合;相比同步方式,異步方式占用較少的資源,效率更高,適合大數(shù)據(jù)量的場(chǎng)合,在實(shí)際中的應(yīng)用也更為廣泛。在沒(méi)有開(kāi)發(fā)出OPC標(biāo)準(zhǔn)之前,異步方式的存取是不可能的,會(huì)導(dǎo)致存取沖突的發(fā)生。
OPC除了具有高效的互操作性外,另一顯著特點(diǎn)是能夠方便地實(shí)現(xiàn)在分布式環(huán)境下的應(yīng)用,也就是說(shuō),客戶和服務(wù)器可以位于局域網(wǎng)、廣域網(wǎng)或Internet上的不同計(jì)算機(jī)上,它同網(wǎng)絡(luò)應(yīng)用緊密結(jié)合突破了空間上的限制。為了實(shí)現(xiàn)在分布式環(huán)境下的應(yīng)用,OPC采用了分布式組件對(duì)象模型(DCOM,Distributed Component Object Model)技術(shù),DCOM是在組件對(duì)象模型(COM,Component Object Model)的基礎(chǔ)上進(jìn)一步擴(kuò)展得到的,通過(guò)DCOM我們可以將現(xiàn)有的服務(wù)器和客戶程序轉(zhuǎn)移到標(biāo)準(zhǔn)化的分布式計(jì)算環(huán)境中來(lái);另一方面,DCOM負(fù)責(zé)處理網(wǎng)絡(luò)協(xié)議低層次的細(xì)節(jié)問(wèn)題,從而使我們能夠集中精力解決其他問(wèn)題。DCOM直接使用現(xiàn)有的網(wǎng)絡(luò)協(xié)議如TCP/IP、UDP、IPX/SPX以及NetBIOS等,我們可以在不改變網(wǎng)絡(luò)現(xiàn)有結(jié)構(gòu)的情況下實(shí)現(xiàn)分布式應(yīng)用,而且我們不用關(guān)心具體采用的是何種協(xié)議。
三 SIMATIC WinAC中對(duì)OPC的支持
SIMATIC WinAC是SIEMENS公司基于PC的自動(dòng)化套件的核心部分。它在通用的標(biāo)準(zhǔn)PC平臺(tái)上,將控制、人機(jī)界面、數(shù)據(jù)處理和通訊等功能組合在一起予以解決;并基于Windows NT/2000操作系統(tǒng)和標(biāo)準(zhǔn)的接口(ActiveX、OPC),作為一種靈活開(kāi)放的體系結(jié)構(gòu),便于集成第三方的應(yīng)用程序(如OPC客戶程序)。SIMATIC WinAC產(chǎn)品系列包括軟件型(基本型、實(shí)時(shí)型)和插槽型(412、416)兩種,分別適用于不同的應(yīng)用場(chǎng)合,每種產(chǎn)品均提供了對(duì)OPC的功能支持。具體地講,WinAC中的Computing軟件提供了一個(gè)OPC服務(wù)器,OPC客戶應(yīng)用程序通過(guò)該服務(wù)器與控制引擎(如WinLC、CPU 416-2 DP ISA或其他的S7系列PLC等)通訊,并對(duì)過(guò)程數(shù)據(jù)進(jìn)行存取。另外,SIMATIC Computing還允許用戶使用OPC服務(wù)器與多個(gè)控制引擎建立連接,用戶也可以通過(guò)網(wǎng)絡(luò)(如局域網(wǎng))建立與控制引擎的連接。以下OPC客戶程序代碼簡(jiǎn)單示范了在分布式環(huán)境中如何建立與服務(wù)器的連接、創(chuàng)建并管理各級(jí)對(duì)象和實(shí)現(xiàn)對(duì)數(shù)據(jù)的讀寫(xiě)操作。
CoInitialize(NULL);
//初始化COM
CLSIDFromProgID(L(“OPCServer.WinAC”),&clsid);
//查詢Computing提供的OPC服務(wù)器的CLSID
CoCreateInstanceEx(clsid,NULL,CLSCTX_SERVER,pServerInfo,cmq,pResults);
//pServerInfo參數(shù)制定要連接的Computing OPC服務(wù)器的相關(guān)信息,并建立連接
POPCUnknown->QueryInterface(IID_IOPCServer,(viod **)&pOPCServer);
//獲得服務(wù)器對(duì)象的指針,并進(jìn)行相關(guān)操作
…
AddGroup…
//新建組對(duì)象,進(jìn)行相關(guān)操作
Read…
Write…
//數(shù)據(jù)項(xiàng)讀寫(xiě)
…
Release…
CoUninitialize…
//釋放接口,客戶程序結(jié)束
四 Computing OPC服務(wù)器和OPC客戶應(yīng)用程序在分布式環(huán)境中的參數(shù)配置
當(dāng)Computing OPC服務(wù)器組件同OPC客戶程序分別運(yùn)行在網(wǎng)絡(luò)上的不同計(jì)算機(jī)上時(shí),它們之間的通信連接是通過(guò)DCOM來(lái)完成的。如何對(duì)DCOM的參數(shù)進(jìn)行正確的配置,筆者經(jīng)過(guò)大量的實(shí)踐摸索,總結(jié)出了一套簡(jiǎn)單、可行的辦法。配置具體步驟如下:
Computing OPC服務(wù)器組件運(yùn)行時(shí)所在的計(jì)算機(jī)信息:
計(jì)算機(jī)名:ComputerofServer 用戶名: UserofServer
OPC客戶程序運(yùn)行時(shí)所在計(jì)算機(jī)信息:
計(jì)算機(jī)名:ComputerofClient 用戶名: UserofClient
1 對(duì)服務(wù)器端參數(shù)配置。
運(yùn)行dcomcnfg(由操作系統(tǒng)提供的DCOM參數(shù)配置工具),在“應(yīng)用程序”一欄中選中“OPC_WinAC”,在其屬性對(duì)話框中各參數(shù)設(shè)置如下:
“常規(guī)”—“身份驗(yàn)證級(jí)別”—“默認(rèn)值”;
“位置”—“在這臺(tái)計(jì)算機(jī)上運(yùn)行應(yīng)用程序”;
“安全性”—“使用自定義訪問(wèn)權(quán)限”—添加“UserofClient” (允許訪問(wèn));
—“使用自定義啟動(dòng)權(quán)限”—添加“UserofClient、Administrators、System、Interactive” (允許訪問(wèn));
—“使用自定義配置權(quán)限”—添加“UserofServer、UserofClient、Everyone、System、Creator Owner、Power Users、Administrators”;
“身份標(biāo)識(shí)”—“交互式用戶”;
確認(rèn)返回到“分布式COM配置屬性”窗口后,在“默認(rèn)屬性”欄中分別設(shè)定“在這臺(tái)計(jì)算機(jī)上運(yùn)行分布式COM”、“默認(rèn)身份驗(yàn)證級(jí)別”為“連接”、“默認(rèn)模擬級(jí)別”為“匿名”;在“默認(rèn)安全機(jī)制”一欄中的“默認(rèn)訪問(wèn)權(quán)限”中加入“Everyone、UserofClient”(允許訪問(wèn)),“默認(rèn)啟動(dòng)權(quán)限”中加入“Everyone、Interactive、Administrators、System、UserofClient”(允許訪問(wèn)),“默認(rèn)配置權(quán)限”中加入“UserofServer、Everyone、System、Creator Owner、Power Users、Administrators”。至此,完成服務(wù)器端配置。
2 對(duì)客戶端參數(shù)配置。
運(yùn)行dcomcnfg,在“應(yīng)用程序”一欄中選中“OPC_WinAC”,在其屬性對(duì)話框中各參數(shù)設(shè)置如下:
“常規(guī)”—“身份驗(yàn)證級(jí)別”—“默認(rèn)值”;
“位置”—“在下列計(jì)算機(jī)上運(yùn)行應(yīng)用程序”,計(jì)算機(jī)名:“ComputerofServer”;
“安全性”—“使用自定義訪問(wèn)權(quán)限”—添加“UserofClient、Ever
提交
查看更多評(píng)論
其他資訊
釋放數(shù)字化潛力,西門子以科技創(chuàng)新和開(kāi)放生態(tài)助推可持續(xù)發(fā)展走深入實(shí)
西門子啟動(dòng)中壓配電年度創(chuàng)新巡展 攜手客戶共同賦能新型電力系統(tǒng)建設(shè)
西門子助力水務(wù)行業(yè)加速應(yīng)用人工智能
西門子攜數(shù)字化和低碳化創(chuàng)新產(chǎn)品和解決方案亮相中國(guó)制冷展
西門子X(jué)celerator迎來(lái)首家第三方商店,開(kāi)放平臺(tái)驅(qū)動(dòng)數(shù)字化轉(zhuǎn)型加速落地